#pragma once
#include"Runtime/BattleFirePrefix.h"
namespace BattleFire {
	class ReferencedObject {
	public:
		ReferencedObject() :mReferenceCount(0) {}
		BattleFireSInt32 mReferenceCount;
	public:
		inline void retain() {
			mReferenceCount++;
		}
		inline void release(){
			mReferenceCount--;
			if (mReferenceCount == 0) {
				delete this;
			}
		}
	};
	class Object {

	};
}
